package com.wonders.hisdoctor.station.project.base.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.wonders.his.common.utils.validator.group.PrimaryGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * <p>协定处方明细表</p>
 * <p>db_table: OUTP_CIPHER_PRESC_DETAIL</p>
 * @author tong_aj
 * @date 2021/02/20
 */
@ApiModel("协定处方明细表")
@Accessors(chain = true)
@Data
@ToString
@TableName("OUTP_CIPHER_PRESC_DETAIL")
public class OutpCipherPrescDetail implements Serializable {

    private static final long serialVersionUID = -5902193650409642601L;

    /** `主键` db_field: CIPHER_DETAIL_ID; desc: 协定处方明细id */
    @ApiModelProperty("协定处方明细id")
    @TableId
    @NotNull(message = "协定处方明细id不能为空", groups = PrimaryGroup.class)
    @TableField("CIPHER_DETAIL_ID")
    private Long cipherDetailId;

    /** db_field: CIPHER_ID; desc: 协定处方id */
    @ApiModelProperty("协定处方id")
    @TableField("CIPHER_ID")
    private Long cipherId;

    /** db_field: DRUG_CODE; desc: 药名编码：见药品字典 */
    @ApiModelProperty("药名编码：见药品字典")
    @TableField("DRUG_CODE")
    private String drugCode;

    /** db_field: DRUG_NAME; desc: 药品名称 */
    @ApiModelProperty("药品名称")
    @TableField("DRUG_NAME")
    private String drugName;

    /** db_field: DRUG_SPEC; desc: 药品规格 */
    @ApiModelProperty("药品规格")
    @TableField("DRUG_SPEC")
    private String drugSpec;

    /** db_field: FIRM_ID; desc: 厂家标识 */
    @ApiModelProperty("厂家标识")
    @TableField("FIRM_ID")
    private String firmId;

    /** db_field: UNITS; desc: 单位：见计量单位字典 */
    @ApiModelProperty("单位：见计量单位字典")
    @TableField("UNITS")
    private String units;

    /** db_field: AMOUNT; desc: 数量：对应于上面的规格、单位的药品总的数量 */
    @ApiModelProperty("数量：对应于上面的规格、单位的药品总的数量")
    @TableField("AMOUNT")
    private BigDecimal amount;

    /** db_field: DOSAGE; desc: 一次用量：单次用药量 */
    @ApiModelProperty("一次用量：单次用药量")
    @TableField("DOSAGE")
    private BigDecimal dosage;

    /** db_field: DOSAGE_UNITS; desc: 用量单位：单次用量单位 */
    @ApiModelProperty("用量单位：单次用量单位")
    @TableField("DOSAGE_UNITS")
    private String dosageUnits;

    /** db_field: ADMINISTRATION; desc: 用药途径：如口服、肌注等 */
    @ApiModelProperty("用药途径：如口服、肌注等")
    @TableField("ADMINISTRATION")
    private String administration;

    /** db_field: FREQUENCY; desc: 频次：执行的频次，如1/日 */
    @ApiModelProperty("频次：执行的频次，如1/日")
    @TableField("FREQUENCY")
    private String frequency;

    /** db_field: PROVIDED_INDICATOR; desc: 自备标记：1-病人自备药，0-正常计价 */
    @ApiModelProperty("自备标记：1-病人自备药，0-正常计价")
    @TableField("PROVIDED_INDICATOR")
    private Integer providedIndicator;

    /** db_field: REPETITION; desc: 付（剂）数：适用于中草药处方，西药处方默认是1 */
    @ApiModelProperty("付（剂）数：适用于中草药处方，西药处方默认是1")
    @TableField("REPETITION")
    private Integer repetition;

    /** db_field: MENO; desc: 用药说明：对用药进行备注说明 */
    @ApiModelProperty("用药说明：对用药进行备注说明")
    @TableField("MENO")
    private String meno;

    /** 项目类别: 1-西药 2-中药 */
    @ApiModelProperty("项目类别: 1-西药 2-中药")
    @TableField("ITEM_CLASS")
    private String itemClass;

    /** 摆药药局 */
    @ApiModelProperty("摆药药局")
    @TableField("DISPENSARY")
    private String dispensary;

    /** 天数 */
    @ApiModelProperty("天数")
    @TableField("PRESC_DURATION")
    private Integer prescDuration;

    /** 成组标志 */
    @ApiModelProperty("成组标志")
    @TableField("GROUP_FLAG")
    private Integer groupFlag;

    /** 处方序号 */
    @ApiModelProperty("处方序号")
    @TableField("PRESC_NO")
    private String prescNo;
}